Posts

Post not yet marked as solved
6 Replies
This fixed the problem and jumped into another, but not sure if related. `Cycle inside xyzApp; building could produce unreliable results. Cycle details: → Target 'xyzApp': ExtractAppIntentsMetadata ○ Target 'xyzApp' has copy command from '/Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-watchsimulator/xyz App.app' to '/Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-iphonesimulator/xyz App.app/Watch/xyz App.app' ○ Target 'xyzApp' has copy command from '/Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-iphonesimulator/xyzAppWidgetExtension.appex' to '/Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-iphonesimulator/xyz App.app/PlugIns/xyzAppWidgetExtension.appex' ○ That command depends on command in Target 'xyzApp': script phase “Set default username and password” ○ Target 'xyzApp' has process command with output '/Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-iphonesimulator/xyz App.app/Info.plist' ○ Target 'xyzApp' has copy command from '/Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-iphonesimulator/xyzAppWidgetExtension.appex' to '/Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-iphonesimulator/xyz App.app/PlugIns/xyzAppWidgetExtension.appex' Raw dependency cycle trace: target: -> node: <all> -> command: <all> -> node: /Users/xyz/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Intermediates.noindex/xyzApp.build/TargetDebug-iphonesimulator/xyzApp.build/Objects-normal/x86_64/ExtractedAppShortcutsMetadata.stringsdata -> command: P0:target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307-:TargetDebug:ExtractAppIntentsMetadata -> node: <target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase10-copy-files> -> command: P0:::Gate target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase10-copy-files -> node: <Copy /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-iphonesimulator/xyz App.app/Watch/xyz App.app> -> command: P0:target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307-:TargetDebug:Copy /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-iphonesimulator/xyz App.app/Watch/xyz App.app /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-watchsimulator/xyz App.app -> node: <target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase9--cp--copy-pods-resources> -> command: P0:::Gate target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase9--cp--copy-pods-resources -> node: /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Intermediates.noindex/xyzApp.build/TargetDebug-iphonesimulator/xyzApp.build/Script-800176C3321250496FF611CF.sh -> command: P2:target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307-:TargetDebug:WriteAuxiliaryFile /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Intermediates.noindex/xyzApp.build/TargetDebug-iphonesimulator/xyzApp.build/Script-800176C3321250496FF611CF.sh -> node: <target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase8--cp--embed-pods-frameworks> -> command: P0:::Gate target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase8--cp--embed-pods-frameworks -> node: /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Intermediates.noindex/xyzApp.build/TargetDebug-iphonesimulator/xyzApp.build/Script-987FF1E1B83FBA94DE258B95.sh -> command: P2:target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307-:TargetDebug:WriteAuxiliaryFile /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Intermediates.noindex/xyzApp.build/TargetDebug-iphonesimulator/xyzApp.build/Script-987FF1E1B83FBA94DE258B95.sh -> node: <target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase7-copy-files> -> command: P0:::Gate target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase7-copy-files -> node: <Copy /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-iphonesimulator/xyz App.app/PlugIns/xyzAppWidgetExtension.appex> -> CYCLE POINT -> command: P0:target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307-:TargetDebug:Copy /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-iphonesimulator/xyz App.app/PlugIns/xyzAppWidgetExtension.appex /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Products/TargetDebug-iphonesimulator/xyzAppWidgetExtension.appex -> node: <target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase6-firebase-configuration-setup> -> command: P0:::Gate target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase6-firebase-configuration-setup -> node: /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Intermediates.noindex/xyzApp.build/TargetDebug-iphonesimulator/xyzApp.build/Script-DAA09EBF1D64447500990DB8.sh -> command: P2:target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307-:TargetDebug:WriteAuxiliaryFile /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Intermediates.noindex/xyzApp.build/TargetDebug-iphonesimulator/xyzApp.build/Script-DAA09EBF1D64447500990DB8.sh -> node: <target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase5-copy-settings-bundle> -> command: P0:::Gate target-xyzApp-b53d15cf652f342f8429c5e93fe72471f5ac11a3b4ae31140b3c6198159b2307--fused-phase5-copy-settings-bundle -> node: /Users/user/Library/Developer/Xcode/DerivedData/xyzApp-ffxviuznvqodqscbwhcgaupcpbif/Build/Intermediates.noindex/xyzApp.build/TargetDebug-iphonesimulator/xyzApp.build/Script-F120DAFA1F838F90006304B3.sh ->
Post not yet marked as solved
6 Replies
After weeks of struggling i decided to get rid of the native More screen and made one myself. It was needing anyway some customizations that were a pain to do the native way.
Post not yet marked as solved
6 Replies
Did anyone find some other solutions? I tried all and nothing works, fixed also some memory leaks i had. In my project it happens randomly, sometimes the first time i do logout, sometimes i need to repeat the process 10-20 times in a row. I made also a minimal demo project with a nav controller that pushes the tab bar controller and at logout it pops to root, like the setup of my real app, but i can't make it crash.
Post not yet marked as solved
7 Replies
I just had the same problem and i used regex to split the value from unit. If you stick to simple formats i think will not fail:extension MeasurementFormatter { func stringComponents(for measurement: Measurement) -&gt; MeasurementComponents? { guard var measurementString = string(for: measurement) else { return nil } guard let unitsRegex = try? NSRegularExpression(pattern: "[A-Za-z/]+", options: []) else { return nil } guard let match = unitsRegex.firstMatch(in: measurementString, options: [], range: NSRange(location: 0, length: measurementString.count)) else { return nil } let unitString = (measurementString as NSString).substring(with: match.range) guard let unitSringRange = measurementString.range(of: unitString) else { return nil } measurementString.removeSubrange(unitSringRange) let valueString = measurementString.trimmingCharacters(in: .whitespaces) return (value: valueString, unit: unitString) } } typealias MeasurementComponents = (value: String, unit: String)And you use it likelet formatter = MeasurementFormatter() formatter.unitStyle = .short formatter.locale = Locale.current formatter.numberFormatter.maximumFractionDigits = 1 let measurement = Measurement(value: speed, unit: UnitSpeed.kilometersPerHour) return formatter.stringComponents(for: measurement) ?? (value: "", unit: "")